It is common in many computing systems to generate backups, including periodic snapshots, which are point-in-time copies of data. A storage device typically must support backup of data onto a safe and stable storage device by making multiple copies of data so that loss of any copy is not catastrophic. These additional copies may be used to restore the original data after a data loss event.
To further strengthen the safety of data backed up it is often required that clones of stored data also be created. The clone thus created at various time intervals occupies the same amount of space on storage device as the original (origin) data source at that point of time. However, if many snapshots are taken then the total amount of storage associated with the clones and the snapshots can become prohibitive and lead to duplicate copies of information that doesn't frequently change, which is wasteful of storage space. To minimize the storage space and prevent un-necessary copying of data it is advisable to share data between a primary data source and its several clones. Rather than creating a complete copy of an entire disk containing the source data, disk area may be divided into a smaller addressable storage space called a ‘chunk’. Thus, on clone creation it is the chunks which are copied rather than the entire disk.
To further save on storage space the chunks may be referred to by the parent and the clones are not copied but are shared.
However, conventional techniques to manage clones and snapshots have many drawbacks. As an example, in the write anywhere file-system layout of U.S. Pat. No. 5,963,962, the data sharing information is stored in a bitmap, the length of which limits the number of snapshots created. There are also other disadvantages of prior art storage solutions to index and manage clones and snapshots.
The present invention provides an alternative indexing and storage management approach which has advantages over the prior art for managing clones and snapshots such as increased scalability and eliminating the bitmap requirement of the prior art.